﻿//    数组内容
#define _CRT_SECURE_NO_WARNINGS 1

//int main()
//{
//	//int arr1[10] = {1, 2, 3, 4};//不完全初始化,剩余的值默认初始化为0
//	//int arr2[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };//完全初始化
//	//int arr3[] = { 1,2,3 };
//
//	//int arr4[] = { 0 };
//
//	//数组如果初始化了，那么可以不指定数组的大小，数组的大小是根据初始化的内容来推算
//	//char arr1[6] = "abc";//a b c \0 0 0
//	//char arr2[6] = { 'a', 'b', 'c' };//a b c 0 0 0
//
//	return 0;
//}
//#include <stdio.h>
//
//int main()
//{
//	int a = 0;
//	printf("%zd\n", sizeof(a));//一个整型变量占据四个字节
//	printf("%zd\n", sizeof(int));
//	return 0;
//}
//#include <stdio.h>
//
//int main()
//{
//	int a = 0;
//	int arr[10] = { 0,1,2,3,4 };
//	printf("%zd\n", sizeof(arr));//字节长度为40
//	printf("%zd\n", sizeof(int [10]));//字节长度为40
//	printf("%zd\n", sizeof(a));
//	printf("%zd\n", sizeof(int));
//	return 0;
//}
//             []是下标引用操作符，
//       操作符：
//有统一概念。操作符是C语言中用于执行各种运算、操作的符号 ，能对一个或多个操作数进行特定操作，产生一个新值。

//按操作数数量分：
//一元操作符，对一个操作数操作，像 !、 ~、 ++ 、 -- 。
//二元操作符，对两个操作数操作，如  + 、  - 、  * 、  / 、  && 、  || 。
//三元操作符，  ? : 是C语言中唯一的三元操作符，对三个操作数操作。
//按功能分有算术、赋值、关系、逻辑、位操作符等不同类别。
//#include <stdio.h>
//
//int main()
//{
//	int arr[10] = { 0,1,2,3,4,5,56,7,788, };
//	printf("%d\n", arr[5]);//打印出来的数值是：5，五是这组数组的第6个数，下标是从0开始计算的
//	printf("%d\n", arr[9]);//打印出来是〇，没有初始化的数默认是0！！！
//	return 0;
//}
//    存储数字到数组中，并且打印出来

//#include <stdio.h>
//
//int main()
//{
//	int i = 0;
//	int arr[] = { 0 };
//	for (i = 0;i < 10;i++)
//	{
//		scanf("%d",&arr[i]);
//	}
//	for (i = 0;i < 10;i++)
//	{
//		printf("%d\n", arr[i]);
//	}
//
//	return 0;
//}
////////////     需要注意的是：
//               1.&a--取出a 的地址
//               2.&arr[i]--取出arr[i]这个元素的地址
//               3.&取地址操作符！
//#include <stdio.h>
//
//int main()
//{
//	int i = 0;
//	int arr[20] = { 0 };
//	{
//		for (i = 0;i < 20;i++)
//			printf("&arr[%d] = %p\n",i,&arr[i]);
//	}
//	return 0;
//
//}
//16位
//&arr[0] = 0000001B726FF7F0          每个数字之间差 4！！！，采取十六进制
//& arr[1] = 0000001B726FF7F4          %p取地址，记得加&操作符 
//& arr[2] = 0000001B726FF7F8           
//& arr[3] = 0000001B726FF7FC
//& arr[4] = 0000001B726FF800
//& arr[5] = 0000001B726FF804
//& arr[6] = 0000001B726FF808
//& arr[7] = 0000001B726FF80C
//& arr[8] = 0000001B726FF810             
//& arr[9] = 0000001B726FF814
//& arr[10] = 0000001B726FF818
//& arr[11] = 0000001B726FF81C
//& arr[12] = 0000001B726FF820
//& arr[13] = 0000001B726FF824
//& arr[14] = 0000001B726FF828
//& arr[15] = 0000001B726FF82C
//& arr[16] = 0000001B726FF830
//& arr[17] = 0000001B726FF834
//& arr[18] = 0000001B726FF838
//& arr[19] = 0000001B726FF83C


//     只需要改动数组的长度，就会打印出来
#include <stdio.h>

int main()
{
	int i = 0;
	int arr[10] = { 0 };
	int sz = sizeof(arr) / sizeof(arr[0]);
	for (i = 0;i < sz;i++)
	{
		scanf("%d", &arr[i]);
	}
	for(i = 0;i < sz;i++)
	{
		printf("%d\n", arr[i]);
		 }
	return 0;
}

//int main()
//{
//	//int arr1[3][5] = {1,2,3,4,5, 2,3,4,5,6, 3,4,5,6,7};//完全初始化
//	//int arr2[3][5] = { 1,2,3,4,5,6 };//二维数组其实是逐行初始化，如果是不安全初始化，剩余的元素默认初始化为0
//	//int arr3[3][5] = { {1,2},{3,4},{5,6} };
//	//int arr4[3][5] = { 0 };//
//
//	int arr5[][5] = { 1,2,3,4,5,6,7,8,9,0 };
//	//二维数组的如果初始化了，行是可以省略的，但是列不能省略
//	return 0;
////